Although the Internet traces back to the late 1960s, the widespread availability and acceptance of personal computing and internetworking have resulted in the explosive growth and unprecedented advances in information sharing technologies. In particular, the Worldwide Web (“Web”) has revolutionized accessibility to untold volumes of information in stored electronic form to a worldwide audience, including written, spoken (audio) and visual (imagery and video) information, both in archived and real-time formats. In short, the Web has provided desktop access to every connected user to a virtually unlimited library of information in almost every language worldwide.
Information exchange on the Web operates under a client-server model. Individual clients execute Web content retrieval and presentation applications, typically in the form of Web browsers. The Web browsers send request messages for Web content to centralized Web servers, which function as data storage and retrieval repositories. The Web servers parse the request messages and return the requested Web content in response messages.
A typical search query scenario begins with either a natural language question or individual keywords submitted to a search engine. The search engine executes a search against a data repository describing information characteristics of potentially retrievable Web content and identifies the candidate Web pages. Searches can often return thousands or even millions of results, so most search engines typically rank or score only a subset of the most promising results. The top Web pages are then presented to the user, usually in the form of Web content titles, hyperlinks, and other descriptive information, such as snippets of text taken from the Web pages.
Generally, Web browsers must be capable of presenting Web content provided in multiple divergent formats, including plain and formatted text, images, audio, and video and received in stored, static or live, dynamic forms. As a result, Web browsers are typically implemented with a graphical user interface to enable flexible presentation of visual content and to provide intuitive user interfacing controls. Visual Web content is output within a display area defined on the graphical user interface while user inputs are generally input both within the display area and within specified user input regions. The user input regions non-exclusively include text boxes, radio buttons, pull down menus, and popup dialog boxes. User inputs can consist of typed text, clicks, or both.
To accommodate both forms of user inputs, graphical user interfaces, including Web browser graphical user interfaces, generally require a pointing device, such as a mouse, trackball, track pad, or arrow keys. Pointing devices operate either in combination with or as a replacement for a keyboard. The graphical user interface generates an arrow or similar graphical pointer or cursor, which is logically coupled to a pointing device. The graphical pointer has a fixed or dynamically defined shape. To navigate, users move the pointing device, which the pointing device translates into linear movement of the graphical pointer. To input a selection, users toggle or “click” one or more buttons linked to the pointing device when the pointing device is proximal to the desired item.
Although intuitive to use, pointing devices suffer from several drawbacks. First, pointing devices must be physically available. However, older legacy computer systems may lack a pointing device, or may have an incompatible pointing device. Similarly, the pointing device may be lost, missing or broken. Alternatively, the user may suffer physical handicaps, which preclude the use of a pointing device, or the user may simply prefer using a keyboard exclusively.
Second, pointing devices can encumber efficient input. Pointing devices are typically devices physically separate from the keyboard. Operating a pointing device requires a user to displace one or both hands from the keyboard, thereby requiring a new “home row” orientation upon the completion of pointing device operations. As well, pointing devices require coordinated visual tracking of the graphical pointers, which can be difficult for some users to see if, for example, the user is far sighted or color blind.
Accordingly, there is a need to provide an approach to providing a keyboard-based graphical user interface navigational methodology. Preferably, such an approach would operate with legacy or other computer systems lacking pointing devices.
Accordingly, there is a further need to provide an approach to navigating within a graphical user interface without a pointing device. Preferably, such an approach would provide navigation within both display areas and specified user input regions and be capable of providing non-navigational functionality.